COM technology allows software components to communicate with one another no matter what machine each component is installed in from the moment these machines are connected to the same communication network. Consequently, COM technology is well adapted for designing, for example, an application of the distributed management platform type in an open system. The following works define the operating principles of COM technology.
ATL COM Programmer's Reference                Richard Grimes (Wrox Press, 1999)        
Inside COM+                Guy & Henry Eddon (Microsoft Press, 2000)        
Essential COM                Don Box (Addison-Wesley, 1998)        
Professional ATL COM Programming                Richard Grimes (Wrox Press, 1998)        
ATL Internals                Brent Rector & Chris Sells (Addison-Wesley, 1999)        
To make it possible to manipulate COM components, the designer of the application describes a COM interface for each component. An interface constitutes the public part of an object, which means that the interface provides a user or client with functionalities, known as methods, for manipulating objects, some of which methods can be called properties. However, the interface merely presents the methods; it does not make it possible to execute these methods. In order to execute the methods, the designer develops, in an object-oriented programming language, for example the C++ language, a program that implements the methods displayed by each interface.
In an application, it is possible for a plurality of interfaces to use the same methods. Consequently, it is advantageous to describe, in an interface description language, a so-called generic interface that displays all the methods of these interfaces. Thus, through a simple inheritance relation with this generic interface, the other interfaces can be described simply by unambiguously defining the types of objects to which the particular interface applies.
In order to implement such a generic interface in the C++ language, one need only describe a template class, which has as parameters, among other things, the types of objects to which the interface applies.
However, in interface description languages, it is not possible to associate, as an implementation class of an interface, a model class. Consequently, it is necessary, during the implementation in the C++ language, to describe all the methods of the interfaces. Thus, it is necessary to write the common methods into all of the implementation classes of the interfaces. This method is tedious, and is therefore a source of errors. Moreover, if it is necessary to make corrections in the description of one or more common methods, the designer must repeat the correction or corrections in all of the implementation classes.
Hence, the object of the present invention is to eliminate the drawbacks of the prior art by offering a method for implementing a plurality of object interfaces, making it possible to limit both the volume and the redundancy of the implementation code of the interfaces and to simplify the maintenance, especially the corrections, of the implementation code of the interfaces.